Conventional search engines permit users to locate relevant websites and other content. The search engine receives user-submitted queries and returns search results that are responsive to the query. The search engine may log the queries submitted by the users to improve user experience with the search engine. Users may formulate queries that are difficult for the search engine. The difficult queries may cause the search engine to return poor search results or to take a long time to return results.
For instance, a user may enter a query for “ACME restaurant official website.” The search engine may attempt to locate search results that match this query. The conventional search engine may return documents that are not relevant to the answer for the query. The user may intend to find ACMEresaurant.com. But the search engine may provide results that include each of the terms of the query without surfacing the official website for ACME restaurant as an answer.
To prevent these types of difficult queries, a conventional search engine may provide query formulation assistance. While a user is inputting initial characters associated with a search query, the search engine may receive potential completions. The conventional search engines may generate the potential completions based on a dictionary. The dictionary may include complete words or phrases. The dictionary is accessed by the search engine during query formulation to locate the words or phrases that complete the initial characters. The dictionary may include one or more terms from the query log having prior queries.
However, users may ignore the potential completions and issue the difficult queries to the search engine. When the results returned to the user are not relevant to user's expected result, the user may issue another query. Because the user issues more than one query to the search engine, the user may form a negative opinion about the search engine's performance.